package com.job.ming.Zuoye0711.oop0711;

/**
 * @author Yangmingyu
 * @version 1.0
 * @since 2022-07-11 14:59:07
 *///单例模式：程序运行的时候，获取改类的对象，无论多少次，获取的都是同一个，节省内存
    //饿汉式：唯一对象 创建时间较早 类加载的时候 就创建在内存了
    //懒汉式：唯一对象 创建时间稍微晚 在外界第一次获取对象时 创建
    //多线程下最终版
    //知识点：设计模式，static，访问修饰符，封装，方法区内存
public class Premier {
    private String name;
    //2:自己创建一个对象
    //private static Premier premier=new Premier();//饿汉
    private static Premier premier;//懒汉

    //3：暴露对象，设置一个公共访问(只读)的方法
    public static Premier getInstance(){
        if (premier==null){
            premier=new Premier();
        }
        return premier;
    }

    //1:私有化构造方法
    private Premier(){
    }

    //1:私有化构造方法
    private Premier(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}